package com.tsj.spzx.log.annotation;

import com.tsj.spzx.log.enums.OperatorType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 为了将管理员的操作都记录，存放至数据库，我们采用 自动逸注解 + AOP实现
 * 当在方法上添加@Log注解后，会执行相应的Aop方法
 */

@Target(ElementType.METHOD)           // 注解放在方法上
@Retention(RetentionPolicy.RUNTIME)  // 在运行时起作用
public @interface Log {
    public String title() ;								            // 模块名称
    public OperatorType operatorType() default OperatorType.MANAGE;	// 操作人类别
    public int businessType() ;                                     // 业务类型（0其它 1新增 2修改 3删除）
    public boolean isSaveRequestData() default true;                // 是否保存请求的参数
    public boolean isSaveResponseData() default true;               // 是否保存响应的参数
}
